﻿// Copyright (c)  YISH. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.

using System.Collections.Generic;
using NSQL.Expressions;

namespace NSQL.Resource
{
    public interface IDatabaseInfo
    {
        IReadOnlyList<ISchemaInfo> Schemas { get; }

        void Add(ISchemaInfo schema);

        ISchemaInfo FindSchema(string schemaName);
        ITableInfo FindTableById(int tableId);
        IColumnInfo FindColumnById(int columnId);
        
        ITableInfo FindTable(ITable table);
        IColumnInfo FindColumn(IColumnExpression column);
    }
}